const program = require("commander");
const {
  createProjectAction,
  addComponentAction,
  addPageAction,
  addStoreAction,
} = require("./action");

const createCommands = () => {
  // 创建项目
  program
    .command("create <project> [others...]")
    .description("将存储库克隆到文件夹中")
    .action(createProjectAction);

  // 创建组件
  program
    .command("addcpn <name>")
    .description("增加 Vue 组件，例如：why addpage 页面名 [-d src/components]")
    .action((name) => {
      addComponentAction(name, program.dest || "src/components");
    });

  // 创建页面
  program
    .command("addpage <page>")
    .description("增加 Vue 页面和路由配置，例如：why addpage 页面名 [-d src/pages]")
    .action((page) => {
      addPageAction(page, program.dest || `src/pages`);
    });

  // 创建Store
  program
    .command("addstore <store>")
    .description("增加 Store ，例如：why addstore Store名 [-d src/store]")
    .action((store) => {
      addStoreAction(store, program.dest || `src/store/modules`);
    });
};

module.exports = createCommands;
